python end to end project